AppLifecycleState.hidden を追加するための移行ガイド
まとめ
新しいhidden
状態が追加されましたAppLifecycleState
示す列挙型
アプリケーションが表示されない場合。
コンテクスト
のAppLifecycleState
enum は、どのライフサイクル状態を示すために使用されます。
アプリケーションはいつですかWidgetsBindingObserver.didChangeAppLifecycleState
と呼ばれます。
変更内容の説明
新しい状態AppLifecycleState.hidden
に追加されましたAppLifecycleState
の列挙型dart:ui
パッケージ。
のhidden
すべてのアプリケーション ビューが表示されなくなると、状態に入ります。
ユーザーに表示されます。 Android と iOS では、この状態は常に一時的に入ります。
ステート マシンは、非アクティブから一時停止、または一時停止から非アクティブに遷移します。
一時停止や非アクティブを入力しても変化しません。他のプラットフォームでは、
アプリケーションが表示されていない間はこの状態になります。
移行ガイド
コードにすべてのケースを処理する switch ステートメントがある場合、AppLifecycleState
enum を処理するには、新しいケースを追加する必要があります。AppLifecycleState.hidden
州。
移行前のコード:
void didChangeAppLifecycleState(AppLifecycleState state) {
switch (state) {
case AppLifecycleState.resumed:
case AppLifecycleState.inactive:
// Do something when the app is visible...
break;
case AppLifecycleState.paused:
case AppLifecycleState.detached:
// Do something when the app is not visible...
break;
}
}
移行後のコード:
void didChangeAppLifecycleState(AppLifecycleState state) {
switch (state) {
case AppLifecycleState.resumed:
case AppLifecycleState.inactive:
// Do something when the app is visible...
break;
case AppLifecycleState.hidden: // <-- This is the new state.
case AppLifecycleState.paused:
case AppLifecycleState.detached:
// Do something when the app is not visible...
break;
}
}
すでにある場合は、default:
switch ステートメント内の case またはコードで使用されているもの
代わりに条件文を使用すると、コードは変更せずにコンパイルされますが、
デフォルトのケースまたは条件を評価して、hidden
状態も処理する必要があります。
タイムライン
リリースされたバージョン: 3.11.0-16.0.pre 安定版リリース: TBD
参考文献
関連する PR:
-
PR 42418: 追加
AppLifecycleState.hidden
列挙値。